package com.sihai.ehr.service;

import java.util.List;

import com.sihai.core.Limit;
import com.sihai.core.LimitedList;
import com.sihai.core.Sorter;
import com.sihai.ehr.model.biz.Grade;

/**
 * @author wxn
 * @since 2012-6-7 20:10
 * 职等Service
 */
public interface GradeService {

	/**
	 * 分组查询职级
	 * @param grade
	 * @param groupByColumnName
	 * @param limit
	 * @param sorter
	 * @return
	 */
	public List<Grade> search(Long dutyId,String groupByColumnName, Limit limit,
			Sorter sorter);
	/**
	 * 根据职务编号及职等名称查询职级列表
	 * @param dutyId
	 * @param gradeName
	 * @param limit
	 * @param sorter
	 * @return
	 */
	List<Grade> searchByGradeName(Long dutyId, String gradeName, Limit limit,
			Sorter sorter);
	
    LimitedList<Grade> search(Grade grade, Limit limit, Sorter sorter);

    void save(Grade grade);

    void remove(String gradeIds);

    Grade get(Long id);


    List<Grade> findGradeByDutyId(Long dutyId, Limit limit, Sorter sorter);

    List<Grade> findGradeLevelByGrade(Grade g, Limit limit, Sorter sorter);

    List<Grade> findGradeAndLevelByDuty(Long dutyId, Limit limit, Sorter sorter);
}
